///****************************************************
// *
// * 项目名称：  com.heroh.kettle.service
// * All rights Reserved, Designed By 投资交易团队
// * @Copyright:2016-2021
// *
// ********************************************************/
//
//package com.heroh.kettle.service;
//
//import com.heroh.kettle.entity.ParamDbConnection;
//import com.heroh.kettle.util.KettleTransUtil;
//import lombok.extern.slf4j.Slf4j;
//import org.pentaho.di.core.exception.KettleException;
//import org.pentaho.di.trans.Trans;
//import org.pentaho.di.trans.TransMeta;
//
//import java.util.List;
//
///**
// * 包名称： com.heroh.kettle.service
// * 类名称：KettleTransService
// * 类描述：TODO
// * 创建人：@author shengxiong.jian
// * 创建时间：2021/3/9/9:13
// */
//@Slf4j
//public class KettleTransService implements IKettleService {
//
//    private TransMeta transMeta;
//
//    public KettleTransService(List<ParamDbConnection> conns) {
//        transMeta = KettleTransUtil.initTransMeta(conns);
//    }
//
//
//    @Override
//    public void run() {
//        try {
//            Trans trans = getTrans(transMeta);
//            trans.execute(null);
//            trans.waitUntilFinished();
//            if (trans.getErrors() > 0) {
//                log.error("kettle转换异常");
////                throw WinExceptionUtil.winException(SchExceptionEnum.KETTLE_TRANS_ERROR);
//            } else {
//                log.info("执行成功");
//            }
//        } catch (KettleException e) {
//            log.error("kettle配置异常");
////            throw WinExceptionUtil.winException(SchExceptionEnum.KETTLE_CONFIG_ERROR);
//        }
//    }
//
//    private Trans getTrans(TransMeta transMeta){
//        transMeta.setGatheringMetrics(true);
//        transMeta.setCapturingStepPerformanceSnapShots(true);
//        Trans trans = new Trans(transMeta);
//        trans.setMonitored(true);
//        trans.setInitializing(true);
//        trans.setPreparing(true);
//        trans.setRunning(true);
//        trans.setSafeModeEnabled(true);
//        trans.setGatheringMetrics(true);
//        return trans;
//    }
//}
